Dynamic damper for an oscillating mirror in a code reader

ABSTRACT

A bar code reader including a dynamic damper for an oscillating mirror assembly is disclosed herein. The reader includes a frame which supports a light source for producing scanning light, and a transducer for receiving scanning light reflected from a bar code being read by the reader. The light produced by the light source is scanned over the bar code by an oscillator assembly including a carrier defining a rotational axis, a light reflector fastened to the carrier, and a spring assembly fastened to the carrier and the frame to resiliently support the carrier for oscillation about the rotational axis. A damper fastened to the frame and slidably engaged with the carrier is provided to inhibit oscillation of the carrier perpendicular to the rotational axis. Such undesirable oscillation is typically caused by forces external to the scanner such as jarring of a structure supporting the scanner.

BACKGROUND OF THE INVENTION

The present invention relates to the oscillation of a bar code readermirror for reflecting scanning light. In particular, the presentinvention relates to a dampening structure for dampening undesirablemirror oscillation.

Typically, bar code reader mirrors are supported by bearings foroscillation about a predetermined and fixed rotational axis. Oscillationof such a mirror is promoted by a spring arrangement. However, the useof bearings such as ball bearings to restrict oscillation about therotational axis dampens the oscillation and consumes energy.Accordingly, attempts have been made to eliminate the bearings andprovide spring configurations which promote oscillation about a desiredaxis. One problem which can occur with oscillator arrangements which arebearing free is the potential for undesirable mirror oscillations whichoccurs about axes other than the rotational axis. Undesirable mirroroscillations are frequently induced into such oscillator arrangements byforces external to the bar code readers (e.g. jarring of the bar codereader support.

Thus, it would be desirable to provide a structure which supports amirror for oscillation about a predetermined rotational axis which isbearing free and not subject to oscillation about other axes.

SUMMARY OF THE INVENTION

The present invention relates to a light directing assembly for a codereader of the type including a light source for producing scanning lightand a transducer for sensing scanning light reflected from the code. Theassembly includes a mirror support defining a rotational axis, a mirrorfastened to the mirror support, a frame, and a spring assembly fastenedto the mirror support and the frame to resiliently support the mirrorsupport for oscillation about the rotational axis. The assembly alsoincludes a damper fastened to the frame and slidably engaged with themirror support to inhibit oscillation of the mirror supportperpendicular to the rotational axis.

The present invention further relates to an optical code readerincluding a frame, a light source supported by the frame and configuredto produce scanning light, a carrier defining a rotational axis, a lightreflector fastened to the carrier, a transducer supported by the frameto receive scanning light reflected by the code and the light reflector,and a spring assembly fastened to the carrier and the frame toresiliently support the carrier for oscillation about the rotationalaxis. The reader also includes a damper fastened to the frame andslidably engaged with the carrier to inhibit oscillation of the carrierperpendicular to the rotational axis.

The present invention still further relates to a light directingassembly for a code reader including carrier means for rotationallysupporting a reflector about a rotational axis, reflector means,fastened to the mirror support, to reflect scanning light, means forresiliently supporting the carrier means for oscillation about therotational axis, and damper means for inhibiting oscillation of thecarrier means perpendicular to the rotational axis.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a left perspective view of a bar code reader;

FIG. 2 is a right perspective view of the bar code reader;

FIG. 3 is a top plan view of the bar code reader;

FIG. 4 is a sectional view taken along line 3--3 in FIG. 3;

FIG. 5 is a top left perspective view of a scan mirror assembly;

FIG. 6 is a top left perspective view of the scan mirror assembly withthe upper damper assembly removed;

FIG. 7 is a right perspective view of the scan mirror assembly;

FIG. 8 is a bottom left perspective view of the scan mirror assemblywith the lower damper assembly and oscillator core removed;

FIG. 9 is a perspective view of an electromagnet core;

FIG. 10 is a schematic block diagram of the bar code reader circuitry;

FIG. 11 is a schematic block diagram of the bar code reader control anddecode circuit;

FIG. 12A is a schematic diagram of the oscillator drive circuit of thecontrol and decode circuit;

FIG. 12B is a circuit diagram for the H-bridge circuit of the oscillatordrive circuit;

FIG. 13 is a schematic block diagram of the pre-raster motor controlcircuit of the control and decode circuit;

FIG. 14A is a graphical representation of a raster scan pattern;

FIG. 14B is a graph of the pre-raster current curve for producing thepattern shown in FIG. 14A; and

FIG. 15 is a schematic diagram of the ramp generator of the pre-rastermotor control circuit.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1, a bar code reader 10 includes a light beam focusingassembly 12, a scan mirror assembly 14, a pre-raster mirror assembly 16,and a support structure 18. Support structure 18 includes a firstpedestal 22 which supports focusing assembly 12, a set of pedestals 24upon which scan mirror assembly 14 is mounted, and a second pedestal 26upon which pre-raster mirror assembly 16 is mounted. By way of example,support structure 18 may be fabricated from materials (e.g. aluminum)such as metals or plastics which are sufficiently rigid anddimensionally stable to maintain the relative locations of assemblies12, 14 and 16 when reader 10 is subjected to external forces or changesin temperature.

Bar code reader 10 also includes a mounting assembly 28 having a firstcircuit board 30, a horizontal shield 32, a second circuit board 34, anda third circuit board 36. Board 30 is supported by a pair of slottedtabs 38, formed integrally with structure 18, to which shield 30 isfastened with rivets or screws (not shown). Horizontal board 32 isfastened (e.g. screwed or riveted) to a set of pedestals 40 which arefastened to support 18 so that board 32 is spaced from support 18.Horizontal board 32 includes openings 42 and 44 through which pedestals24 and 26 extend to support assemblies 14 and 16, respectively. Verticalboards 34 and 36 are fastened together and supported by a tower 46extending upwardly from pedestal 22 and by a second support 47 (FIG. 2)attached to structure 18. Mounting assembly 28 provides physical supportfor the circuitry of reader 10. Additionally, assembly 28 may serve asseparation and/or electromagnetic shielding.

Turning now to the general operation of reader 10, light beam focusingassembly 12, scan mirror assembly 14, and pre-raster mirror assembly 16are mounted and oriented upon structure 18 to focus and direct a lightbeam 48 produced by a light source such as a visible laser diode 50(FIG. 4) toward a light reflecting code such as a bar code (not shown),and direct return light 52 to a transducer such as a photodetector 54.More specifically, diode 50 produces a light beam 48 which is focused byassembly 12 which directs light beam 48 through openings 56 and 57 (FIG.4) in shield 34 and 36, respectively, to pre-raster mirror assembly 16.Pre-raster mirror assembly 16 directs beam 48 to assembly 14 whilesimultaneously oscillating the beam along a vertical line 58 (i.e.scanning the beam along vertical lines). Assembly 14 directs beam 48 tothe bar code while simultaneously oscillating the beam in a horizontalplane (i.e. scanning or sweeping the beam along horizontal lines toproduce horizontal scan lines). Assemblies 14 and 16 can operateindependently as line scanners. However, angular assembly 16 oscillatesat selectable rotational velocities (frequencies) substantially lowerthan the oscillating frequency of assembly 14 to scan a two dimensionarea. For line scanning applications, assembly 16 does not oscillate.Accordingly, the combination of assemblies 12, 14 and 16 scan a focusedlight beam 48 across bar codes within the two-dimension area in a rasterscan pattern with a horizontal scan frequency dependent upon thefrequency at which assembly 14 operates and a vertical scan velocitydependent upon the angular velocity at which assembly 16 operates. FIG.14A illustrates an example of such a raster scan pattern.

Assemblies 14 and 16 also direct the portion of beam 48 reflected off ofthe bar code back to photodetector 54. In particular, the reflectedlight 52 is diffuse and is gathered by assembly 14 which reflects thelight to assembly 16, which in turn focuses and reflects a portion ofthe return light 52 back to photodetector 54. The structure and controlcircuitry of bar code reader 10 will now be discussed in detail inreference to the FIGURES. (For purposes of simplifying the drawings,return light 52 is represented by a line which represents the generalreflective paths of the light 52.)

Referring to FIGS. 1-4, light beam focusing assembly 12 includes a lens60, a movable cylindrical lens support 62, a lens support guide 64, amirror 66, a stepping motor 68, and a lens support translator 70. Lenssupport 62 is guided by support guide 64 through the sliding interactionof the exterior cylindrical surface 74 of support 62 and the interiorcylindrical surface 76 of guide 64. More specifically, the interactionof surfaces 74 and 76 provide a linear bearing for allowing translationof support 62 along axis 72. By way of example, guide 64 is formedintegrally with first pedestal 22 to rigidly support guide 64 relativeto support structure 18. Lens support guide 64 also supports mirror 66.In particular, a mirror support frame 78 is fastened (e.g. screwed orriveted) over the top opening of guide 64 so lens 60 remains centeredupon the vertical axis 72 of beam 48 when lens support 62 translateswithin guide 64. Mirror 66 is fastened to frame 78 so that itsorientation directs light beam 48 from diode 50 through openings 56 and57 to pre-raster mirror assembly 16.

Stepping motor 68 and lens support translator 70 are fastened to asupport frame 80 which is supported relative to support structure 18 byfirst pedestal 22. By way of example, lens support translator 70 is aworm drive including a worm gear mounted upon the shaft of steppingmotor 68 and a drive gear (not shown) operatively engaged with the wormgear to rotate an output shaft 82 either clockwise or counter-clockwise.The outboard end of shaft 82 includes a cam 84 which interacts with lenssupport 62. In particular, support 62 includes an opening 86 which formsa cam seat (FIG. 4) within which cam 84 is located. Upon rotation of cam84, through the operation of motor 68, the surface of cam 84 interactswith the interior surface of opening 86 to translate lens support 62within support guide 64 along axis 72. To maintain contact between thesurface of cam 84 and the interior surface of opening 86, a spring (notshown) may be appropriately connected between support 62 and guide 64 tobias support 62 in one direction along axis 72.

The above-described structure of light beam focusing assembly 12controllably and selectively focuses the light beam produced by diode 50when the direction and angle of rotation of stepping motor 68 iscontrolled. Rotation of motor 68 translates lens 60 along axis 72relative to diode 50. As an alternative, diode 50 could be movedrelative to lens 60 supported in a fixed position. The control ofstepping motor 68 is described in detail below in combination with thecontrol circuit of bar code reader 10.

Depending upon the configuration of laser diode 50, it may be desirableto provide cooling within pedestal 22 to cool diode 50. Thus, in thepresent embodiment, a peltier cooling device 47 and heat sink 49 arefastened within chamber 23 of pedestal 22 below diode 50. Device 47 is aconventional semiconductor device powered by the power supply of reader10 via appropriate circuitry.

Referring to FIGS. 5-8, scan mirror assembly 14 includes a frame 88, amirror carrier (support) 90, a first spring assembly 92, a second springassembly 94, a mirror (reflector) 96, an oscillator (motor) assembly 98,a first damper 100, a second damper 102 having substantially the sameshape and size as damper 100, and a transducer (magnetic pick-up) 104.Mirror carrier 90 includes a mirror carrier shaft 106 fabricated from anelongated rod material (e.g. plastic) having a generally circularcross-section. Shaft 106 defines a longitudinal axis which runs alongthe center of the shaft and is coincident with a reference rotationalaxis 108 fixed in space relative to frame 88 when shaft 106 is notoscillating. A first end shaft portion 110 having a circularcross-section and a central longitudinal axis is fastened to the top endof shaft 106 so that the longitudinal axis of portion 110 is coincidentwith rotational axis 108.

The bottom end of shaft 106 includes a magnet carrier 112 and a secondend shaft portion 114. Magnet carrier 112 is attached to the bottom endof shaft 106 and configured as shown to attach a permanent bar magnet116 and shaft portion 114 to the bottom of shaft 106. In particular,carrier 112 connects shaft portion 114 at the bottom of shaft 106 so thecentral longitudinal axis of shaft 114 is coincident with rotationalaxis 108 when shaft 106 is not oscillating or is oscillating in an idealmanner. Bar magnet 116 is a permanent magnet having north and southpoles of opposite polarity and a central axis 118. Carrier 112 fixesmagnet 116 at the bottom of shaft 106 so the longitudinal axis of shaft106 passes through the center of magnet 116, and intersects and isperpendicular to central axis 118. Thus, when shaft 106 is notoscillating or oscillating in an ideal manner, axis 118 intersects axis108, axis 118 is perpendicular to axis 108, and axis 108 passes throughthe midpoint of magnet 116 between the north and south poles.

Mirror carrier shaft 106 also includes a mirror mount 120 to whichmirror 96 is fastened (e.g. glued). Mirror mount 120 is fabricated byappropriately machining or molding shaft 106 generally at its center toproduce a generally flat surface to which mirror 96 is fastened. Mirrormount 120 is machined so that the reflective surface of mirror 96 issubstantially parallel with rotational axis 108, and depending upon theapplication, fabricated so that rotational axis 108 is in closeproximity to the reflective surface of mirror 96 (e.g. within a distanceless than the diameter of shaft 106). By mounting mirror 96 so that thereflective surface thereof is in close proximity to the rotational axis108, the operation of scan mirror assembly 14 will oscillate beam 48 toproduce an appropriate horizontal scan (sweep). Thus, the closelyproximate distance between the reflective surface of mirror 96 androtational axis 108 may vary and be selected, depending upon theapplication, to produce an appropriate range and configuration for thescanning motion of light beam 48.

First and second spring assemblies 92 and 94 resiliently support mirrorcarrier 90 relative to frame 88. When mirror carrier 90 is stationary(i.e., no oscillation), the longitudinal axis of mirror carrier shaft106 and rotational axis 108 are exactly coincident and remain fixedrelative to frame 88. Spring assemblies 92 and 94 are configured toresiliently support mirror carrier 90 relative to frame 88 so that thelongitudinal axes of shaft 106 and end shaft portions 110 and 114 remainsubstantially coincident with reference rotational axis 108 without theassistance of bearings when mirror carrier 90 is oscillated byoscillator assembly 98. Assemblies 92 and 94 also support carrier 90 sothat a small magnet mounted behind mirror 96 on carrier 90 is inmagnetic communication with magnetic pickup 104.

Spring assemblies 92 and 94 are substantially identical, and eachincludes four substantially identical folded beams 122. The specificconfiguration of beams 122 may have a U-shape of the configuration shownin the FIGURES. Beams 122 of spring assembly 92 are evenly spaced andfastened to the top end of shaft 106 between mirror 96 and end shaftportion 110, and beams 122 of spring assembly 94 are evenly spaced andfastened to the bottom end of shaft 106 between mirror 96 and magnetcarrier 112. In the preferred embodiment, shaft 106 is fabricated from aplastic material where beams 122 are molded, glued and/or captured inthe respective ends of shaft 106. More specifically, beams 122 ofassembly 92 are attached to shaft 106 in alignment directly abovecorresponding beam 122 of assembly 94 as shown in FIGS. 5-8. Thisconfiguration promotes coincidence between the longitudinal axis ofshaft 106 and axis 108 during oscillation of shaft 106. The oppositeends of beams 122 are fastened (e.g. screwed or riveted) toappropriately configured formations 123 of frame 88 such as thoseillustrated in FIGS. 5-8.

The multi-segment configuration of folded beams 122 permit theelimination of bearings for supporting mirror carrier 90, and theproblems associated therewith, while providing a structure which permitsappropriate oscillation of carrier 90 about reference rotational axis108 as discussed above. The specific multi-segment configuration of eachbeam 122 includes a first tapered beam 124 connected to a constant widthbeam 126 which is connected to a second tapered beam 128. (For purposesof clarifying the FIGURES, all of the specific elements of beam 122 areonly labeled on one beam 122 in FIG. 6.) The widest end of each taperedbeam 124 is fastened to frame 88, and the widest end of each taperedbeam 128 is fastened to mirror carrier shaft 106. Furthermore, beams 124and 128 are substantially parallel, and beam 126 is substantiallyperpendicular to beams 124 and 128. To facilitate fabrication, thethickness of folded beams 126 are constant. The present configuration offolded beams 122 provides relatively long life before fatigue failure,and produces desired rotational stiffness. This configuration alsomaintains separation between orthogonal and pitch modes to provideacceptable oscillation of mirror carrier 90 about reference rotationalaxis 108, i.e. the longitudinal axis of shaft 106 and axis 108 remainsubstantially coincident during oscillation.

The preferred embodiments of first and second spring assemblies 92 and94 each include four folded beams 122 having constant thicknesses.However, it is contemplated that the thickness of beams 122 could befabricated to produce appropriate spring characteristics, and that threefolded beams 122 could be used in place of four folded beams underappropriate circumstances.

Oscillator assembly 98 includes a generally U-shaped core 130 having afirst leg 132, a second leg 134, a winding mount 136, and a winding 138(electromagnet). Referring to FIG. 9, first and second legs 132 and 134are substantially parallel and connected to winding mount 136 so thatmount 136 is substantially perpendicular to legs 132 and 134 to form aU-shape. By way of example, U-shaped core 130 may be fabricated fromlaminated iron. Leg 132 provides a first pole location 133 and leg 134provides a second pole location 135 configured as shown in FIG. 9. Morespecifically, each of pole locations 133 and 135 include detents 137 andangled surfaces 139 and 141. This configuration of core 130 permitspositioning core 130 so pole locations 133 and 135 are in closeproximity to, and in magnetic communication (magnetically coupled) with,magnet 116, and prevents interference between carrier 112, magnet 116and locations 133 and 135. More generally, the configuration of core 130allows the majority of the electric energy supplied to winding 138 toproduce oscillatory motion of carrier 90 about rotational axis 108, andprovides wider deflection angles for mirror 96 at higher frequencies.

Winding 138 is disposed about winding mount 136 so that location 133 hasa polarity opposite from location 135 when winding 138 is energized vialeads 140 and 142 with a particular polarity current. Thus, when analternating current is applied to winding 138, the polarity of location133 alternates between north and south, while the polarity of location135 is opposite to the polarity of location 133.

As generally discussed above, core 130 is fastened to frame 88 so thatbar magnet 116 is located between pole locations 133 and 135.Preferably, central axis 118 of bar magnet 116 is parallel to legs 132and 134, and perpendicular to winding mount 136 when mirror carrier 94is stationary (i.e., not oscillating). By mounting core 130 relative tomagnet 116 in this manner, mirror carrier 90 and associated mirror 96are oscillated when an alternating current is applied to winding 138.Depending upon the desired scanning frequency (i.e., oscillationfrequency of mirror 96), which is typically between 300 and 800 scansper second, the masses of mirror carrier 90, mirror 96 and magnet 116,spring beam 122 configuration, and frequency of the current applied towinding 138, are selected so that one of the resonant frequencies ofoscillation corresponds to the desired scanning frequency. Byappropriately selecting these factors, the amount of electrical energyrequired to energize winding 138 with an alternating current whichproduces the desired scanning frequency can be minimized.

Referring to FIGS. 5, 7 and 8, dampers 100 and 102 are configured ascylindrical disks having an opening 144 slightly larger than thediameter of the associated shaft portions 110 and 114. By appropriatelysizing openings 144, frictional losses between dampers 100 and 102 andassociated portions 110 and 114 can be minimized without reducing thelateral damping capability of dampers 100 and 102. Lateral dampeningabsorbs the energy of forces which cause mirror carrier 90 to oscillateso the longitudinal axis of shaft 106 is not coincident with referencerotational axis 108 during oscillation. Typically, such forces areexternal to bar code reader 10 (e.g. jarring of a product transfer lineupon which reader 10 is mounted).

Damper 100 is fastened (glued) to a support plate 146 fastened (screwed)to the top of frame 88 so that portion 110 and opening 144 of damper 100are substantially concentric when shaft 106 is stationary. Damper 102 isalso fastened (glued) to a support 147 fastened to the bottom of frame88 so that shaft 114 and the opening in damper 102 are substantiallyconcentric. By way of example, dampers 100 and 102 can be fabricatedfrom a resilient, non-metallic material such as foam. More specifically,the foam may be a closed-cell type foam such as a urethane.Alternatively, a resilient, woven, non-metallic material may be used inplace of the foam.

Referring to FIG. 7, magnetic pick-up 104 is fastened to the back offrame 88 in relatively close proximity to a permanent magnet (not shown)located on mirror carrier shaft 106 behind mirror 96. The purpose ofpick-up 104 is to produce a feedback signal representative of therotational velocity of shaft 106 and mirror 96 during oscillation. Morespecifically, when shaft 106 is oscillating about its longitudinal axis,and the magnet is alternating directions near pick-up 104, anoscillating signal is produced on leads 148 and 150 which represents theangular velocity of shaft 106 and mirror 96. From this signal, themaximum positive angle of rotation (clockwise rotation limit duringoscillation) and maximum negative angle of rotation (counter-clockwiserotation limit during oscillation) is determined. The signal produced onleads 148 and 150 is representative of the frequency at which mirror 96oscillates. In particular, the amplitude of the signal increases as thefrequency increases.

Referring again to FIGS. 1-4, pre-raster mirror assembly 16 includes acompound mirror 152, a motor (i.e. selectable and variable frequencyoscillator or rotator) 154, and an angle frame 156. Mirror 152 includesa horizontal axis 158 and a vertical axis 160. Mirror 152 also includestwo contiguous, reflective surfaces 162 and 164, respectively. Morespecifically, the first reflective surface 162 circumscribes reflectivesurface 164, and is configured to direct and focus light reflected fromthe bar code and mirror 96 to photodetector 54. In the preferredembodiment, reflective surface 162 is a concave surface having aspherical radius of about 4.72 inches. Surface 164 is preferably a flatsurface oriented relative to surface 162 so that it is substantiallyparallel with axis 158 and substantially perpendicular to light beam 48when mirror 152 is vertical (FIGS. 2 and 4).

The use of surface 164 which is an optically flat mirror separate from,and circumscribed by, surface 162 provides a surface for lighttransmission. Surface 162 collects reflected light from the scanned barcode and focuses this light upon photodetector 54. This configurationreduces or eliminates the need for a collector lens at photodetector 54,and minimizes the cost and complexity of the daylight (ambient) filter55 at photodetector 54.

The use of a compound mirror also permits fabricating mirror 152 frommolded plastic having a reflective coating. Additionally, use of acompound mirror reduces the cost of mirror 152 by limiting the need fora high quality reflective surface (e.g. flat within 1/4 of a wavelength)to surface 164.

Compound mirror 152 is mounted upon the shaft 166 of motor 154 so thataxis 158 and the longitudinal axis of shaft 166 are substantiallyparallel and axis 158 is in close proximity to the axis of shaft 166. Bymaintaining a closely proximate distance between axis 158 and thelongitudinal axis of shaft 166, a satisfactory relationship between theangular location of shaft 166 and the height of the raster pattern canbe maintained. Motor 154 is fastened to angle frame 156 by appropriatefasteners. Frame 156 is fastened to pedestal 26 so that mirrors 96 and152 cooperate during oscillation to produce a raster scan pattern havingthe desired height, width and location. Additionally, frame 156 ispositioned so mirror 152 is directly in front of photodetector 54. Thisminimizes the cost of filter 55 by directing light rays to filter 55which are substantially perpendicular thereto. The configuration ofassembly 16 also permits the generation of raster sweep angles in therange of 30 degrees.

Referring to FIG. 10, the control circuitry of bar code reader 10includes a control and decode circuit 168 coupled to magnetic pick-up104 by leads 148 and 150, photodetector 54 by conductors 170 and 172,winding 138 by conductors 140 and 142, motor 154 by conductor 174, andstepping motor 68 by databus 176. Depending upon the particularenvironment within which reader 10 is used, a databus 178 will connectcircuit 168 to an appropriate communications port 180 (e.g. RS 232, RS485, discrete input/output solid state relays). The specificconfiguration of bar code reader circuits for controlling theenergization of laser diodes such as laser diode 50 and decoding thesignals produced by photodetectors 54 are generally known and will notbe described in detail herein. Depending upon the application for whichreader 10 is used, various configuration wave shaping and decodingcircuits can be used. For example, the operation of such controlcircuitry is disclosed in numerous reference such as The Bar Code Book,2d ed., Helmer's Publishing, Inc., (1991).

The present embodiment of reader 10 uses unique motor 154 controlsignals, winding 138 energization signals, and stepping motor 68 controlsignals as described in reference to FIG. 11. In general, control anddecode circuit 168 is configured to energize winding 138 to initiateoscillation of mirror 96 of scan mirror assembly 14, and sustainoscillation of mirror 96 at a predetermined resonant frequency and angleof rotation, as described in detail below. Circuit 168 also controlsmotor 154 of pre-raster mirror assembly 16 to control the raster patterngenerated by light beam 48 so that the angle at which light beam 48 isscanned over a bar code can be varied based upon the validity of thedata obtained when the signal from photodetector 54 is decoded.Additionally, motor 154 is controlled by circuit 168 to raster lightbeam 48 in one direction at a relatively slow rate for reading in thatdirection (e.g. from bottom to top) and returned almost instantaneouslyfrom the top to the bottom. This type of raster control improves theability of reader 10 to read bar codes which pass through either theextreme top or bottom of the raster scan pattern or reader 10. Steppingmotor 68 is controlled by circuit 168 to control the focusing of thelight beam produced by laser diode 50. Motor 68 is controlled based uponthe validity of the data produced when the signal generated byphotodetector 54 is decoded.

Referring to FIG. 11, control and decode circuit 168 includes anoscillator drive circuit 181, a central control circuit 182, apre-raster motor control circuit 184, a conditioning circuit 186, and anauto focus control circuit 188. Central control circuit 182, which inthe present embodiment is a programmable digital processor (e.g., MC68340 manufactured by Motorola, Inc.) coupled to a digital-to-analogconverter 262 (FIG. 12A), applies an oscillation angle control signal tocircuit 180 via conductor 190. In the present embodiment, circuit 182 iscoupled to digital-to-analog converter 262 (FIG. 12A) to produce anoscillation angle control signal in the form of a DC signal related to(e.g. proportional to) the desired angle of oscillation for mirror 96.

Circuit 180 applies a position signal to circuit 182 via conductor 192.By way of example, the position signal is a square wave wherein theleading edges of the square wave represent that mirror 96 is positionedeither at its maximum or minimum angle of rotation about thelongitudinal axis of mirror carrier shaft 106. Based upon theoscillation angle control signal and the signal produced by magneticpickup 104 and applied to drive circuit 180 via conductors 148 and 150,circuit 180 energizes winding 138 with a voltage substantially equal tothe system supply voltage for a duration (i.e. pulse width) based uponthe difference between the desired angle of oscillation for mirror 96and the actual angle of oscillation for mirror 96.

Conditioning circuit 186 is coupled to photodetector 54 by conductors170 and 172. Circuit 186 is a conditioning circuit which converts thesignal produced by photodetector 54 into a digital pulse train having anamplitude of approximately 5 V. This signal is applied to centralcontrol circuit 182 via conductor 194. Circuit 182 decodes the pulsetrain to generate data representative of the bar code scanned to producethe square wave. Subsequently, circuit 182 may transmit datarepresentative of the information to communications port 180 via databus178. The digital processor of circuit 182 is programmed in aconventional manner to decode the pulse train into data representativeof the information embodied in the last code scanned to produce thepulse train. The processor is also programmed to determine if the datais valid. Validity can be determined by comparing data to datarepresentative of expected symbols, comparing data from a sequence oftwo or more scan lines and/or determining if the data satisfies therules for the bar code symbols expected during reading (e.g., expectedstart bars, stop bars and quiet zones). Alternatively, circuit 182 maydetermine data validity by comparing the data produced by a sequence oftwo or more scan lines.

Pre-raster motor control circuit 184 applies control signals to motor154 to rotate (oscillate) mirror 152 at selectable angles and angularvelocities (frequencies) to produce an appropriate raster scan patternfor light beam 48. Based upon the position signal applied to centralcontrol circuit 182 via conductor 192, circuit 182 applies motor controlsignals to motor control circuit 184 via conductors 196 and 198. Asdiscussed in detail below, these control signals allow control circuit184 to control the angle of rotation of mirror 152 and the speed orfrequency at which the mirror is rotated between the angles. Asdiscussed in further detail below, the motor control signals are alsobased upon the ability of control circuit 182 to convert the pulse trainproduced by decode circuit 186 into data representative of informationwhich is valid.

A hall-effect transducer 51 may be included in assembly 16 to produce aposition signal representative of the position of mirror 152. Inparticular, the signal from transducer 51 is converted to digital datarepresentative of the minimum and maximum angles of rotation for mirror152 by circuit 168. Based upon this data, circuit 168 maintains mirror152 within predetermined minimum and maximum angles of rotation.

Auto focus control circuit 188 applies a control signal to steppingmotor 68 via databus 176 to control light beam focusing by assembly 12.In response, assembly 12 moves lens 60 to produce a focused light beam48. Based upon the ability of central control circuit 182 to convert thepulse train produced by decode circuit 186 into valid bar code data,circuit 182 applies control signals to auto focus control circuit 188via databus 189 to control assembly 12 to optimally focus beam 48.

Turning to FIGS. 12A and 12B, oscillation drive circuit 180 generallyincludes a steady state oscillation drive circuit 204, and a startingcircuit 206. Drive circuit 204 includes an amplifier 208, a phaseshifting circuit 210, a timing circuit 212, a transistor driver circuit214, and an H-bridge circuit 216. The signal produced by magnetic pickup104 is a periodic position signal representative of the location ofmirror 96, and is applied to amplifier 208 by conductor 148. Amplifier208 amplifies the periodic signal to a level suitable for monitoring bythe circuitry coupled to the output of amplifier 208 and applies theamplified signal to conductors 218 and 220.

Phase shifting circuit 210 shifts the phase of the periodic signal by apredetermined angle and applies the phase-shifted signal to conductor222. Phase shifting is performed to produce magnetic forces between theelectromagnet of assembly 98 and permanent magnet 116 at or near thepositions during the oscillating cycle of mirror 96 which optimizeoscillation performance. By way of example only, the phase shift wouldbe in the range of 30° when winding 138 is energized to oscillate mirror96 at frequencies between 150-250 Hz, and is set at 0° when winding 138is energized to oscillate mirror 96 at frequencies in the range of 400Hz.

Timer circuit 212 is connected to conductor 222, and produces a pair ofpulse-width signals which are applied to conductors 224 and 226. Thewidths (durations) of the pulse-width signals are controlled by thesignals applied to a control input 228 and a reset input 230 of circuit212. More specifically, the voltage on the control input is variedwithin a range to select the pulse width of the signals applied toconductors 224 and 226. By way of example, this voltage signal may be inthe range of 0.5-4.5 V. The pulse width of the signals applied toconductors 224 and 226 may also be controlled by applying either a HIGHor LOW logic signal to reset input 230. More specifically, when resetinput 230 is driven to logic LOW, the signals output to conductors 224and 226 have zero pulse width (i.e., no signal). When the logic levelapplied to reset input 230 is HIGH, the pulse width of the signalsapplied to conductors 224 and 226 is controlled by the voltage levelapplied to control input 228.

Timer circuit 212 outputs two pulse-width modulated signals onconductors 224 and 226 having a frequency substantially the same as thefrequency of the signal applied to conductor 222. These signals controltransistor driver circuit 214 to control H-bridge circuit 216 whichenergizes winding 138 with a ramp current. More specifically, conductor224 transmits a pulse-width signal which corresponds to energizingwinding 138 with a current in a first direction, and conductor 226transmits a pulse-width signal which corresponds to energizing winding138 with a current in a second direction opposite to the firstdirection. Transistor driver circuit 214 is controlled by the signals onconductor 224 and 226 so the opposite N and P transistors in H-bridgecircuit 216 are turned completely ON or completely OFF for the properperiods of time. This operation of circuit 214 energizes winding 138 somirror 96 is oscillated at the appropriate frequency and angle ofoscillation.

Transistor driver circuit 214 is coupled to conductors 224 and 226, andalso a conductor 232. Based upon the pulse-width signal on conductor224, transistor driver circuit 214 produces transistor switching signalson conductors 234 and 236. Based upon the pulse-width signals on eitherconductor 226 or 232, transistor driver circuit 214 produces transistorswitching signals on conductors 238 and 240. Transistor driver circuit214 is configured to convert the 0-5 V logic signals on conductors 224,226 and 232 into first and second signals, with the first signal havingan amplitude of 0 V when the second signal has 12 V (i.e. system powersupply voltage), and with the second signal having an amplitude of 0 Vwhen the first signal has 12 V. By way of example, the following Table Aillustrates the statuses of conductors 224, 226 and 232 and theassociated statuses of conductors 234, 236, 238 and 240.

                  TABLE A                                                         ______________________________________                                                      Conductor 226 or 232 Status                                                   0 Volts (V)                                                                           5 Volts (V)                                             ______________________________________                                        Conductor 224   5 V       0 V                                                 Conductor 234   12 V      0 V                                                 Conductor 236   0 V       12 V                                                Conductor 238   0 V       12 V                                                Conductor 240   12 V      0 V                                                 ______________________________________                                    

To produce the 0 V and 12 V signals, transistor driver circuit 214utilizes appropriate signal conditioning and inversion circuits. Asillustrated in Table A, the status of conductors 224 and 226 arecontrolled so that these conductors do not have the same statuses, sincethis situation may damage H-bridge circuit 216 as discussed below.

In general, H-bridge circuit 216 applies a ramp current at the fullvoltage of the system power supply (e.g. 12 V) at a polarity and for aduration dependent upon the pulse-width signals applied to conductors224 and 226. More specifically, referring to FIG. 12B, H-bridge circuit216 includes two low resistance semiconductor switches (e.g. P-channelfield effect transistors 242 and 244), and two low resistancesemiconductor switches (e.g. N-channel field effect transistors 246 and248). The gates of transistors 242, 244, 246 and 248 are connected toconductors 234, 238, 240 and 236, respectively. The sources oftransistors 242 and 244 are connected to the 12 V system power supply250, and the sources of transistors 236 and 240 are connected to groundby a conductor 252 and a current sensing resistor 254 (FIG. 12A). Thedrains of transistors 242 and 246 are connected together at one side ofthe winding 138 and the drains of transistors 244 and 248 are connectedtogether at the other side of winding 138.

Referring again to Table A, when the signal on either conductor 226 or232 is 0 V, transistors 244 and 246 are non-conducting (OFF),transistors 242 and 248 are fully conducting (ON) and a linearlyincreasing current at the full power supply voltage of 12 V is flowingthrough winding 138 along the direction marked with arrow 256 for aduration equal to the duration of the 5 V pulse on conductor 224.Similarly, when the voltage on either conductors 226 or 232 is at 5 V,transistors 242 and 248 are non-conducting, and transistors 244 and 246are fully conducting. Thus, the linearly increasing current at the fullpower supply voltage of 12 V flows in the direction marked by arrow 258through winding 138. This configuration of H-bridge circuit 216 reducespower losses and heat generation in oscillating drive circuit 180 bycontrolling the energy applied to winding 138 during oscillation usingthe full system voltage for a variable pulse duration, rather than usinga fixed pulse duration at a variable voltage controlled by transistors.

As briefly discussed in reference to timer circuit 212, this circuit isconfigured to synchronize the switching of the transistors in H-bridge216 to prevent damage thereto. More specifically, timer circuit 212 canbe configured to include TLC556 dual CMOS timers sold by TexasInstruments. One of the timers in the TLC556 produces the pulse-widthsignal on conductor 224 and the second timer produces the pulse-widthsignal on conductor 226. The timers are synchronized and configured toinclude RC delay circuits therebetween to assure that transistors 242and 248 are not ON at the same time transistors 244 and 246 are ON.

Steady state oscillating circuit 204 also includes feedback circuitryincluding a peak sample circuit 260, an amplifier 264, and a levelshifting circuit 266. The input to the peak sampling circuit 260 isconnected to conductor 220 and configured to produce a DC voltagerepresentative of the actual angle through which mirror 96 isoscillating. The output of circuit 260 is applied to the inverting inputof amplifier 264. When the circuitry of FIG. 12A is calibrated duringmanufacturing, a digital value representative of the desired angle ofoscillation for mirror 96 is stored in non-volatile memory (flashmemory) of circuit 182. Digital data representative of this digitalvalue is applied to digital-to-analog converter 262, which outputs acorresponding DC voltage representative of the desired angle ofoscillation for mirror 96 to the non-inverting input of amplifier 264.(Digital-to-analog converter 262 can be part of circuit 180 or controlcircuit 182. By way of modification, digital-to-analog converter 262 andthe corresponding connection to circuit 182 could be eliminated byreplacing digital-to-analog converter 262 with a potentiometer.)

The difference between the voltages applied to the inputs of amplifier264 are amplified and applied to level shifting circuit 266. Circuit 266adds an offset voltage (e.g. 1.5 V) to the difference, and adjusts therange of the voltage difference to fall within 0.5-4.5 V. The purpose ofthis level shifting is to produce a duration control signal on controlinput 228 which is compatible with the circuitry of timer circuit 212.In operation, when the voltages applied to amplifier 264 aresubstantially equal, a minimum width pulse is applied to conductors 224and 226 which has the minimum width required to energize winding 138 tomaintain the oscillation of mirror 96. When the voltages applied toamplifier 264 are different, the actual oscillation angle has adeviation from the desired oscillation angle. In response, a durationcontrol signal is applied to control input 228 so the pulse width of thesignals applied to conductors 224 and 226 are increased in relation(e.g. proportion) to the difference between the actual and desiredoscillation angles. By controlling the pulse width of these signals,winding 138 is driven with an energy level sufficient to oscillatemirror 96 (increase or decrease the angle of oscillation) toward thedesired angle of oscillation.

Oscillation drive circuit 180 also includes a current limiting circuit268 which includes an amplifier 270 and comparator 272. The input toamplifier 270 is connected to conductor 252 and is amplified to producean output signal applied to the non-inverting input of comparator 272.The inverting input of comparator 272 is connected to a referencevoltage (e.g., 1 V). Accordingly, when the current flowing throughwinding 138 produces a voltage across sensing resistor 254 whichcorresponds to an output voltage at the output of amplifier 270 greaterthan 1 V, comparator 272 drives the reset input 230 to logic LOW. Asdiscussed above, logic LOW at reset input 230 limits the maximum pulsewidth of the signals applied to conductors 224 and 226. The purpose ofcurrent limiting circuit 268 is to prevent damage to H-bridge 216 andwinding 138 as a result of applying excess power to winding 138.Typically, circuit 268 is inoperative; however, in situations such asoscillation start-up, conditions may cause the duration of the signalson conductors 224 and 226 to remain unacceptably high for an extendedperiod of time.

Starting circuit 206 includes an oscillator 270, an integrator 272, avoltage control oscillator 274, an inverting OR gate 276, and a motormotion detection circuit 279. The output of oscillator 270 is connectedto the input of integrator 272 to produce a triangle wave which controlsthe output frequency of voltage control oscillator 274. Voltage controloscillator 274 is configured to have a center frequency at the resonantfrequency of the associated pre-raster mirror assembly 16 (e.g., 150,250, 400 Hz) and outputs a square wave which is dithered about thecenter frequency and applied to one input of gate 276. The dithering isproduced by the triangle wave applied to oscillator 274. The trianglewave is based upon the frequency of oscillator 270 (e.g., 1 Hz).

The output of the motor status detection circuit 279 is applied to theother input of gate 276. Circuit 279 is configured to drive the secondinput of gate 276 HIGH when it detects that a signal is being producedby magnetic pickup 204. Circuit 279 can be configured using variouscircuitry, and may sense the signal produced by pickup 104 based uponsensing the output of amplifier 208 or the output of phase shiftingcircuit 210. In operation, circuit 206 applies a variable frequency,variable pulse-width signal to conductor 232 which causes transistordriver circuit 214 to output signals on conductors 238 and 240. Thesesignals control H-bridge circuit 216 to energize winding 138 in a singledirection. This "half-wave" energization is sufficient to initiateoscillatory motion of mirror 96 about the selected resonant frequency.Upon detection of a signal at pickup 104, the signal applied toconductor 232 by circuit 206 terminates.

Circuit 180 also includes a synchronization circuit 278 which isconfigured to produce a square wave having the same frequency as thesignal produced by magnetic pickup 104. This square wave is applied tocentral control circuit 182 via conductor 192 and is utilized by circuit182 to synchronize the operation of reader 10 based upon the position ofmirror 96 as sensed by magnetic pickup 104.

Referring to FIG. 13, pre-raster motor control circuit 184 includesdigital-to-analog converters 280 and 282, and a ramp generator 284. Theanalog outputs of converters 280 and 282 are coupled to voltage inputs286 and 288 of ramp generator 284. The voltage on conductor 174 isgenerated by ramp generator 284, as discussed in detail below, basedupon the voltages applied to inputs 286 and 288. The angle of rotationof raster motor 154 is related to (proportional to) the voltage appliedto raster motor 154 via conductor 174. The voltage generated byconverters 280 and 282 is based upon a digital signal (e.g. 6-bit)applied to converters 280 and 282 by central control circuit 182 viadatabuses 196 and 198, respectively. (A databus 290 connects circuit 182to converters 280 and 282 for the purpose of providing appropriateclocking pulses to the converters.) In addition to applying controlvoltages to generator 284 at voltage inputs 286 and 288, central controlcircuit 182 also applies a top scan signal and a bottom scan signal togenerator 284 via data lines 292 and 294.

In general, central control circuit 182 and converters 280 and 282 applycontrol voltages to voltage inputs 286 and 288 which vary the angle(slope) of the scan lines of the raster pattern produced by reader 10.More specifically, FIG. 14A illustrates a scan pattern having the scanlines 296 which are scanned from left to right at an angle 298, and scanlines 300 which are scanned from right to left at an angle 302 which isless than angle 298. To produce the type of scanning pattern illustratedin FIG. 14A, the voltage applied to raster motor 154 via conductor 174is varied so that the current (I_(motor)) applied to motor 154 varieswith time substantially as shown in FIG. 14B. By varying the voltage online 174, and thus varying the slope of the motor current relative totime for each scan line, the angles 298 and 302 of the scan lines can bevaried.

In operation, central control circuit 182 monitors the ability toconvert the pulse train produced by decode circuit 186 into valid data,and varies the control voltages at inputs 286 and 288, which controlramp generator 284 to vary the slope of the motor current applied tomotor 154. This control of motor 154 permits varying angles 298 and 302until the angle (slope) of the scan lines is adjusted to read bar codeshaving bars which are not substantially perpendicular to horizontal scanlines. This arrangement permits reader 10 to read bar codes, such asmulti-row bar codes which are particularly difficult to read, using afixed station bar code reader.

Referring to FIG. 15, the presently preferred embodiment of rampgenerator 284 includes a buffer 304, a buffer 306, an amplifier 308, adouble pole logic switch 310, a single pole logic switch 312, a currentsource 314, a capacitor 316, an output driver 317, a comparator 318, alogic circuit 320, and a switching circuit 322. This circuitry iscoupled together as illustrated in FIG. 15, where voltage input 286 isconnected to the input of buffer 304 and voltage input 288 is connectedto the input of buffer 306 and amplifier 308. Raster motor 154 isconnected to the output of driver circuit 317. Circuit 318 produces theappropriate current to drive raster motor 154 at the voltage of currentsource 314 and could be implemented using the appropriate operationalamplifiers.

Switch logic 310 may be a dual SPST type FET switch or equivalent andoperates to switch either the voltage supplied to voltage input 286 orthe voltage applied to voltage input 288 to the constant current source314. In response, capacitor 316 charges at a rate representative of thedifference between the voltages applied to inputs 286 and 288. Thevoltage across capacitor 316 defines the voltage applied to motor 154,which in turn defines the angle of motor 154.

Amplifier 308 and switch 312 are provided to produce a relatively largenegative voltage which is applied to current source 314 when logiccircuit 320 determines that the top of the scanned area (FIG. 14A) hasbeen reached, and the end of the top scan line has also been reached. Inresponse, logic circuit 320 closes switch 312 and switch 310 such thatthe voltage at input 288 is amplified substantially above the voltage atinput 286. In response, high negative angle voltage is produced andapplied to motor 154 to decrease the angle of motor 154 and return lightbeam 48 from the top right portion of the raster scan pattern back tothe bottom left of the pattern (i.e. beginning of the pattern) within 1or 2 sweeps of beam 48. Thus, mirror 152 is rotated at a higher angularvelocity to return the light beam to the bottom left than the rotationalvelocity used to rotate mirror 152 while moving the light beam from thebottom to the top of the scan area.

Logic circuit 320 controls switch 310 based upon a SYNC signal atconductor 192 which is produced by SYNC circuit 278 (FIG. 12A). Basedupon the SYNC signal, logic circuit 320 controls switch 310 to apply thevoltages at inputs 286 or 288 to current source 314 when mirror 96changes directions during rotation about the axis of shaft 106. Thispermits control of angles 298 and 302 and the angular velocity for eachhalf-cycle of oscillation for mirror 152 (i.e. each scan line).

Central control circuit 182 applies a voltage to input 324 of switch 322representative of the voltage corresponding to the top of the rasterscan pattern, and applies a voltage to input 326 of switch 322 which isrepresentative of the voltage corresponding to the bottom of the rasterscan pattern. Switch 322 toggles its output 328 between the voltages atinputs 324 and 326 in response to the output of comparator 318. Inparticular, when a voltage is being applied to raster motor 154 whichcauses the raster scan to progress upwardly to the top of the pattern,the output of current source 314 is compared to the voltage at input326. When the output of current source 314 exceeds the voltage appliedto input 326, comparator 318 causes switch 322 to connect the voltage atinput 324 to the output 328. Additionally, logic circuit 320 switchesswitch 312 so a control signal is applied to motor 154 which causesmirror 152 to rotate (reduce the mirror angle) such that the light beam"flies back" to the beginning of the scan pattern, as discussed above.While raster motor 154 is rotating mirror 152 to return the light beamto the beginning of the scan pattern, comparator 318 compares the outputvoltage of current source 314 to the voltage applied to input 324. Whenthe voltage output by current source 314 goes below the voltage appliedto input 324, comparator 318 causes switch 322 to apply the voltage atinput 326 to line 328, and causes logic circuit 320 to open switch 312and control the switching of switch 310 to progress the raster patternupwardly with scan lines having angles which are determined by thevoltages applied to inputs 286 and 288 generated by central controlcircuit 182, as discussed above. Angles 298 and 302 are varied fromhalf-cycle to half-cycle by varying the rotational speed of motor 154between half cycles based upon the voltage output on conductor 174.

Turning back to FIG. 11, auto focus control circuit 188 may be aconventional stepping motor control circuit coupled to central controlcircuit 182 by databus 189 (FIG. 12). As discussed above, controlcircuit 182 monitors the validity of the data representative of thesquare wave produced by decode circuit 186. In operation, a user ofreader 10 can automatically adjust the focus of beam 48 by placing a barcode at the desired reading distance while control circuit 182 isoperated to apply signals to control circuit 188 which cause steppingmotor 68 to translate lens 60 until control circuit 182 is able togenerate valid data from the pulse train produced by decode circuit 186.Subsequently, control circuit 182 continues to apply control signals tocontrol circuit 188 to continue operating stepping motor 68 to move lens60 until control circuit 182 is unable to obtain valid data from thepulse train produced by decode circuit 186. Control circuit 182 thendetermines the range of steps through which valid data is obtained fromthe square wave produced by decode circuit 186, and applies a controlsignal to control circuit 188 which causes stepping motor 68 to movelens 60 at or near the midpoint of the range. This system for movinglens 60 positions lens 60 such that the focus of light beam 48 isoptimized. This system also eliminates the need to include proximitysensors in bar code reader 10 for the purpose of controlling theoperation of stepping motor 68 to move lens 60 such that light beam 48is properly focused for accurate bar code reading.

While particular embodiments of the present invention have been shownand described, it should be clear that changes and modifications may bemade to such embodiments without departing from the time scope andspirit of the invention. For example, substantially all of steady stateoscillating circuit 204, starting circuit 206 and ramp generator 284could be provided by substituting the respective circuitry withprogrammed digital processors, or by replacing circuit 182 with anappropriately programmed and larger digital processor than suggested forthe present embodiment of circuit 182. Furthermore, reader 10 typicallyincludes a single cover (not shown) attached to support structure 18which protects the components of reader 10 and provides a window for thescanning light. However, depending upon the application, it may beuseful to use a particular cover shape or group of covers. It isintended that the appended claims cover all such changes andmodifications and others not specifically mentioned herein.

What is claimed is:
 1. In a code reader of the type including a lightsource for producing scanning light and a transducer for sensingscanning light reflected from a code, a light directing assemblycomprising:a mirror support defining a rotational axis; a mirrorfastened to the mirror support; a frame; a rotational axis supportspring assembly fastened to the mirror support and the frame to allowthe mirror support to oscillate only about the rotational axis; and adamper fastened to the frame and slidably engageable with the mirrorsupport to dampen oscillation of the mirror support perpendicular to therotational axis.
 2. The assembly of claim 1, wherein the mirror supportcomprises a first shaft including a first longitudinal axis coincidentwith the rotational axis and a first surface disposed about the firstlongitudinal axis, and the damper comprises a first resilient membersurrounding and engageable with the first surface.
 3. The assembly ofclaim 2, wherein the resilient member is fabricated from a non-metallicmaterial.
 4. The assembly of claim 2, wherein the mirror support furthercomprises a mirror carrier including first and second ends and a secondshaft including a second longitudinal axis having a second surfacedisposed about the second longitudinal axis, wherein the first shaft isjoined to the first end such that the first longitudinal axis iscoincident to the rotational axis, the second shaft is joined to thesecond end such that the second longitudinal axis is parallel with therotational axis, and the mirror is fastened to the carrier between thefirst and second ends.
 5. The assembly of claim 4, wherein the springassembly comprises a first beam spring connected between the first endand the frame and a second beam spring connected between the second endand the frame such that the mirror is parallel with the rotational axis.6. The assembly of claim 5, the damper further comprising a secondresilient member surrounding and engageable with the second surface. 7.The assembly of claim 6, wherein the resilient members are fabricatedfrom a non-metallic material.
 8. An optical code reader comprising:aframe; a light source supported by the frame and configured to producescanning light; a transducer supported by the frame to receive scanninglight; a carrier defining a rotational axis; a light reflector fastenedto the carrier; a transducer supported by the frame to receive scanninglight reflected by a code and the light reflector; a rotational axissupport spring assembly fastened to the carrier and the frame to allowthe mirror support to oscillate only about the rotational axis; and adamper fastened to the frame and slidably engageable with the carrierperpendicular to the rotational axis.
 9. The reader of claim 8, whereinthe light reflector is a mirror.
 10. The reader of claim 9, wherein thecarrier comprises a generally cylindrical first shaft including a firstlongitudinal axis coincident with the rotational axis and a cylindricalsurface parallel to the first longitudinal axis, and the dampercomprises a first resilient member surrounding and engaging thecylindrical surface.
 11. The reader of claim 10, wherein the resilientmember is fabricated from a non-metallic material.
 12. The reader ofclaim 10, wherein the spring assembly comprises a first beam springfastened to the frame and carrier support.
 13. The reader of claim 10,wherein the carrier support further comprises a mirror mount includingfirst and second ends and a generally cylindrical second shaft includinga second longitudinal axis and a cylindrical surface parallel to thesecond longitudinal axis, wherein the first shaft is joined to the firstend, the second shaft is joined to the second end such that the secondlongitudinal axis is coincident with the rotational axis, and the mirroris fastened to the mirror between the first and second ends.
 14. Thereader of claim 13, the spring assembly comprising a first beam springconnected between the first end and the frame and a second beam springconnected between the second end and the frame, wherein the mirror isparallel with the rotational axis.
 15. The reader of claim 14, thedamper further comprising a second resilient member surrounding andengageable with the cylindrical surface of the second shaft.
 16. Thereader of claim 15, wherein the resilient members are fabricated from anon-metallic material.
 17. In a code reader of the type including alight source for producing scanning light and a transducer for sensingscanning light reflected from the code, a light directing assemblycomprising:carrier means defining a rotational axis; reflector means,fastened to the carrier means, to reflect scanning light; means forresiliently supporting the carrier means for oscillation exclusivelyabout the rotational axis; and damper means for inhibiting oscillationof the carrier means perpendicular to the rotational axis.
 18. Thereader of claim 17, wherein the carrier means comprises a reflectorcarrier including first and second ends, a first shaft including a firstlongitudinal axis and a first surface disposed about the firstlongitudinal axis, and a second shaft including a second longitudinalaxis having a second surface disposed about the second longitudinalaxis, wherein the first shaft is joined to the first end such that thefirst longitudinal axis is coincident to the rotational axis, the secondshaft is joined to the second end such that the second longitudinal axisis parallel with the rotational axis, and the reflector means isfastened to the carrier between the first and second ends.
 19. Theassembly of claim 18, wherein the means for resiliently supportingcomprises a frame, a first beam spring connected between the first endand the frame, and a second beam spring connected between the second endand the frame.
 20. The assembly of claim 19, wherein the damper meanscomprises:a first resilient member fastened to the frame and surroundingthe first surface; and a second resilient member fastened to the frameand surrounding the second surface.
 21. The assembly of claim 20,wherein the resilient members are fabricated from a non-metallicmaterial.